<!doctype html>
<html lang="en">

	<head>
		<meta charset="utf-8">

		<title>ElasticSearch - Distributed Search Engine</title>

		<meta name="description" content="ElasticSearch Tecktalk">
		<meta name="keyword" content="ElasticSearch,Distributed Search Engine">
		<meta name="author" content="Stone Shi">

		<meta name="apple-mobile-web-app-capable" content="yes" />
		<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />

		<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">

		<link rel="stylesheet" href="css/reveal.min.css">
		<link rel="stylesheet" href="css/theme/default.css" id="theme">

		<!-- For syntax highlighting -->
		<link rel="stylesheet" href="lib/css/zenburn.css">

		<!-- If the query includes 'print-pdf', include the PDF print sheet -->
		<script>
			if( window.location.search.match( /print-pdf/gi ) ) {
				var link = document.createElement( 'link' );
				link.rel = 'stylesheet';
				link.type = 'text/css';
				link.href = 'css/print/pdf.css';
				document.getElementsByTagName( 'head' )[0].appendChild( link );
			}
		</script>

		<!--[if lt IE 9]>
		<script src="lib/js/html5shiv.js"></script>
		<![endif]-->
		<style type="text/css">
			.reveal .cn h1, .reveal .cn h2, .reveal .cn h3, .reveal .cn h4, .reveal .cn h5, .reveal .cn h6 {
				font-family: "Microsoft YaHei","微软雅黑",tahoma,arial,simsun,"宋体";
			}
			p.intro:first-letter {
				font-size: 1.5em;
				font-weight: bold;
			}
		</style>
	</head>

	<body>

		<div class="reveal">

			<!-- Any section element inside of this container is displayed as a slide -->
			<div class="slides">
				<section>
					<h1>ElasticSearch</h1>
					<h3>Distributed Search Engine & Analytics platform</h3>
					<p>
						<small>Created by <a href="http://www.iamstoneshi.com">Stone Shi</a></small>
					</p>
				</section>

				<section data-transition="fade">
					<section class="cn">
						<h2>缘起</h2>
						<p>
							？？？
						</p>						
					</section>
					<section>
						<img src="css/images/elephant.jpeg" alt="Elephant In Kruger">
					</section>
					<section>
						<img src="css/images/wild.jpeg" alt="Wild SA">
					</section>
					<section>
						<img src="css/images/wild_tree.jpeg" alt="Wild Tree SA, Binary Tree">
					</section>
				</section>

				<section>
					<img src="css/images/question_person.jpg" alt="Question">
				</section>

				<section>
					<img src="css/images/ibs_qna.png" alt="IBS Q&A">
				</section>

				<section>
					<h2>Full Text Search</h2>
					<ul>
						<li class="fragment">mySQL</li>
						<li class="fragment">mongoDB (New)</li>
						<li class="fragment" style="font-weight: bold; font-size: 1.2em;">Elastic Search</li>
					</ul>
				</section>


				<section>
					<h2>What is ElasticSearch?</h2>
					<div style="float: right; text-align: center; width: 162px; margin-left: 10px;">
						<img src="css/images/Shay-snapshot.jpg" alt="Shay Banon"> <br />
						<small>Shay Banon</small>
					</div>
					<p class="intro">
						<a href="http://www.elasticsearch.org/overview/elasticsearch">Elasticsearch</a> is an open source, distributed, (near) real-time search and analytics engine with a RESTful web interface and schema-free JSON documents based on Lucene. Fast, scalable & high available.						
					</p>
				</section>

				<section>
					<section>
						<h2>Terms & Concept</h2>
						<ul>
							<li>Term 1</li>
							<li>Term 2</li>
							<li>Term 3</li>
							<li>Term 4</li>
							<li>Term 5</li>
							<li>Term 6</li>
							<li>Term 7</li>
							<li>Term 8</li>
						</ul>
					</section>
					<section>
						<h2>Term 1</h2>
						<p>...</p>
					</section>
					<section>
						<h2>Term 2</h2>
						<p>...</p>
					</section>
				</section>


				<section>
					<h2>Design Thinkings</h2>
					<p>...</p>
					<p>NoSQL? Key-Value Store? Map-Reduce?</p>
				</section>
				
				<section>
					<h2>Lucene Recap</h2>
					<ul>
						<li>Item 1</li>
						<li>Item 2</li>
						<li>Item 3</li>
						<li>Item 4</li>
					</ul>
				</section>

				<section class="cn">
					<h2>唠叨……no Nerd!</h2>
					<h3 class="fragment">好吧……开动了，shoot!</h3>
				</section>

				<section>
					<h2>Todo List</h2>
					<ul>
						<li>Installation(cluster, check status)</li>
						<li>CRUD Index (Mention Mappings)</li>
						<li>Query API (DSL)</li>
						<li>Analyzer (Tokenizer/Filter etc...)</li>
						<li>Plugin (smartCN & ik)</li>
						<li>Highlight</li>
						<li>Facet</li>
						<li>Geograph</li>						
						<li>Monitoring (Head/Mavel)</li>
						<li>River (mongoDB)</li>
						<li>Programming Language API</li>
					</ul>
				</section>

				<section data-transition="linear">
					<h2>Installation</h2>
					<p>...</p>
				</section>

				<section data-transition="linear">
					<h2>CRUD Index</h2>
					<p>...</p>
				</section>

				<section>
					<h1>Q & A</h1>
					<pre>
						<code data-trim>
							curl -XGET http://localhost:9200/TeckTalk/_search?q=questions&pretty
						</code>
					</pre>					

					<pre>
						<code data-trim>
{
  "took" : 0,
  "timed_out" : false,
  "_shards" : {
    "total" : 0,
    "successful" : 0,
    "failed" : 0
  },
  "hits" : {
    "total" : 0,
    "max_score" : 0.0,
    "hits" : [ ]
  }
}						</code>
					</pre>	

					<h3 class="fragment">The End</h3>				
				</section>

			</div>

		</div>

		<script src="lib/js/head.min.js"></script>
		<script src="js/reveal.min.js"></script>

		<script>

			// Full list of configuration options available here:
			// https://github.com/hakimel/reveal.js#configuration
			Reveal.initialize({
				controls: true,
				progress: true,
				history: true,
				center: true,

				theme: Reveal.getQueryHash().theme, // available themes are in /css/theme
				transition: Reveal.getQueryHash().transition || 'default', // default/cube/page/concave/zoom/linear/fade/none

				// Parallax scrolling
				// parallaxBackgroundImage: 'https://s3.amazonaws.com/hakim-static/reveal-js/reveal-parallax-1.jpg',
				// parallaxBackgroundSize: '2100px 900px',

				// Optional libraries used to extend on reveal.js
				dependencies: [
					{ src: 'lib/js/classList.js', condition: function() { return !document.body.classList; } },
					{ src: 'plugin/markdown/marked.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
					{ src: 'plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
					{ src: 'plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } },
					{ src: 'plugin/zoom-js/zoom.js', async: true, condition: function() { return !!document.body.classList; } },
					{ src: 'plugin/notes/notes.js', async: true, condition: function() { return !!document.body.classList; } }
				]
			});

		</script>

	</body>
</html>
